/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package wsgroovy;
import groovyx.net.ws.WSClient;
import wsgroovy.IManagerWebService;
import java.util.ArrayList;


/**
 *
 * @author André
 */
class ManagerWebService implements IManagerWebService{

    WSClient proxy;
    static ManagerWebService instance;
    def condicaoCompra;
    def condicaoCompraParcela;
    def fornecedor;
    def cotacaoPreco;
    def cotacaoPrecoMercadoria;
    def pedidoCompra;
    def pedidoCompraItem;
    
    public def static ManagerWebService getInstance() {
        if (instance == null) {
            instance = new ManagerWebService();
        }
        return instance;
    }

    private def ManagerWebService(){
        if(proxy == null){
            proxy = new WSClient("http://localhost:2110/ComprasERPService/ComprasERPPort?wsdl", this.class.classLoader);
            proxy.initialize();
            condicaoCompra = new String()
            condicaoCompraParcela = new String()
            fornecedor = new String()
            cotacaoPreco = new String()
            cotacaoPrecoMercadoria = new String()
            pedidoCompra = new String()
            pedidoCompraItem = new String()
            println "Criou o proxy..."
        }
    }

    public WSClient getProxy(){
        return proxy;
    }

    public def getCondicaoCompra(){
        return condicaoCompra;
    }

    public def setCondicaoCompra(def cc){
        if(condicaoCompra.getClass() == String.class){
            condicaoCompra = cc;
            condicaoCompraParcela = condicaoCompra.getCondicaoCompraParcelaList().get(0)
            condicaoCompra.getCondicaoCompraParcelaList().clear()            
        }
        //Basta ter a referencia dos Objetos pois são eles que são persistidos e enviados para o BPEL
        //Os ??Vetor não são necessários pois o sentido deles é apenas BPEL -> Aplicação Web
    }

    public def getCondicaoCompraParcela(){
        return condicaoCompraParcela;
    }

    public def getCotacaoPreco(){
        return cotacaoPreco;
    }

    public def setCotacaoPreco(def cp){
        if(cotacaoPreco.getClass() == String.class){
            cotacaoPreco = cp;
            cotacaoPrecoMercadoria = cotacaoPreco.getCotacaoPrecoMercadoriasList().get(0)
            cotacaoPreco.getCotacaoPrecoMercadoriasList().clear()
        }
        //Basta ter a referencia dos Objetos pois são eles que são persistidos e enviados para o BPEL
        //Os ??Vetor não são necessários pois o sentido deles é apenas BPEL -> Aplicação Web
    }

    public def getCotacaoPrecoMercadoria(){
        return cotacaoPrecoMercadoria;
    }

    public def getPedidoCompra(){
        return pedidoCompra;
    }

    public def setPedidoCompra(def pc){
        if(pedidoCompra.getClass() == String.class){
            pedidoCompra = pc;
            pedidoCompraItem = pedidoCompra.getPedidoCompraItemList().get(0)
            pedidoCompra.getPedidoCompraItemList().clear()
        }
        //Basta ter a referencia dos Objetos pois são eles que são persistidos e enviados para o BPEL
        //Os ??Vetor não são necessários pois o sentido deles é apenas BPEL -> Aplicação Web
    }

    public def getPedidoCompraItem(){
        return pedidoCompraItem;
    }

    public def getFornecedor(){
        return fornecedor;
    }

    public def setFornecedor(def ff){
        fornecedor = ff;
    }

}